package com.ls.controller.activity.model;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.*;
import java.time.LocalDateTime;

/**
 * @ClassName AddActivityModel
 * @Description 新增活动model
 * @Author pengyu
 * @Date 2024/6/27 17:14
 * @Version 1.0
 **/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class AddActivityModel {
    /**
     * 活动对象id
     */
    @NotNull(message = "活动对象id不能为空")
    private Long auId;
    /**
     * 活动名称
     */
    @NotBlank(message = "活动名称不能为空")
    private String activityName;
    /**
     * 活动图片
     */
    @NotBlank(message = "活动图片不能为空")
    private String activityImg;
    /**
     * 活动外部链接
     */
    private String activityUrl;
    /**
     * 活动展示时长，单位秒,可以为空,仅有一个开启的活动且seconds大于0，这个值才有效
     */
    @Min(value = 0, message = "活动展示时长不能小于0")
    private Integer seconds;
    /**
     * 活动开始时间
     */
    @NotNull(message = "活动开始时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;
    /**
     * 活动结束时间
     */
    @NotNull(message = "活动结束时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;
}
